MacBinary

MacBinary a protocol that was originally designed to facilitate file transfers of Macintosh files. It is a method of storing all the information necessary to recreate an entire Macintosh file in one data stream, instead of the two forks plus extra file information that the Macintosh normally uses. ZipIt uses MacBinary to store Macintosh files inside a zip archive.

Zip archives created with ZipIt are always compatible with other zip implementations. However, if you are zipping a file intended for use by a computer other than the Macintosh, you should not use MacBinary when zipping that file. If you do, then, after unzipping the file on the other computer, the resulting file will have extra Macintosh data; specifically, 128 bytes of garbage will appear at the beginning of the file when it is unzipped on the other machine.

You can control whether or not ZipIt uses MacBinary on a specified file by simply clicking in the “MB” column in the zip window. If there is a hollow circle there, then MacBinary will not be used to zip the file. If there is a filled circle, MacBinary will be used. You can only change the MacBinary status of a file before it has been saved. You cannot convert a file to MacBinary or vice-versa after it has been zipped and stored in the archive. (This is not true for folders; see below.)

File names. One consequence of MacBinary usage is that ZipIt keeps track of two separate filenames for each entry. The first filename is the name as it is written in the zip archive. For example, if you zipped a Macintosh application called “Cool World.sit,” ZipIt would store the name as COOLWORL.SIT. If another zip program opened this zip archive, it would think that the name of Cool World was COOLWORL.SIT. This is useful because computers running operating systems such as DOS could then unzip the file. ZipIt, however, will always know that the name of the file is Cool World.sit. So whenever you open the file with ZipIt, you will see that the name is Cool World.sit.

Note: You can turn off ZipIt’s “dosification” of filenames by deselecting the appropriate option in the Miscellaneous Preferences dialog box. In that case, ZipIt would store the name of the above file as “Cool_World.sit”. Spaces, slashes, and extended characters are converted to underscores in this case. This is useful if the destination machine is a Unix, and not an IBM.

You can see the MacBinary feature in action. Add any Macintosh file to a zip window and click on the MacBinary oval. When MacBinary is on, you will see the “real” Macintosh name. When MacBinary is off, you will see ZipIt’s best approximation of the Macintosh name in a format acceptable to the IBM (assuming that the filename conversion option is on).

You can control how ZipIt decides whether to use MacBinary. Choose “Miscellaneous Preferences” from the File menu. You will see a choice, “Use MacBinary: Always, When needed, Never.” If you choose “Always,” then any file you add will have the MacBinary indicator filled in. If you choose “Never,” then ZipIt will never fill in the MacBinary dot. If you choose “When needed,” ZipIt will only use MacBinary if the file has a resource fork. You can always change whether or not MacBinary will be used on an unsaved file by clicking on the dot in the MacBinary column, no matter what the settings in the preferences dialog are.

Folders. You may also turn on MacBinary for folders in the zip archive. When you do this, ZipIt uses its own proprietary format to store Macintosh information about the folders; it does not use the MacBinary format. Macintosh data about folders is stored at the end of the zip archive, not within the archive.

MacBinary and other zip programs. Suppose you store a file in an archive, using MacBinary. You then send the archive to a friend who has an IBM; he adds a file (obviously not using MacBinary). He then sends the archive back to you. The original file that you zipped will be intact, with MacBinary information fully functional. Suppose instead that your friend unzipped the file that you sent him, then re-zipped it and sent you back the archive. In this case, ZipIt will no longer recognize the file as MacBinary. In order to get it back, you would have to unzip it, then choose “MacBinary…” from the Translate menu. Suppose that you sent your IBM friend some files inside a MacBinary folder. Your friend then adds more files to the archive. Because of the way ZipIt stores MacBinary information for folders, that information will be lost if the archive is re-saved, even if the folders are not touched. Specifically, the name of the folder that was originally MacBinary will revert to its DOS form. In summary: MacBinary files can survive if the original zip file is modified by another program; MacBinary folders cannot.